package cn.gcyl.module.biz.service.alliancemembers;

import java.util.*;
import javax.validation.*;
import cn.gcyl.module.biz.controller.admin.alliancemembers.vo.*;
import cn.gcyl.module.biz.controller.admin.platforminformation.vo.AppPlatformInformationPageReqVO;
import cn.gcyl.module.biz.controller.admin.platforminformation.vo.PlatformInformationPageReqVO;
import cn.gcyl.module.biz.dal.dataobject.alliancemembers.AllianceMembersDO;
import cn.gcyl.framework.common.pojo.PageResult;
import cn.gcyl.framework.common.pojo.PageParam;
import cn.gcyl.module.biz.dal.dataobject.platforminformation.PlatformInformationDO;

/**
 * 联盟成员链接 Service 接口
 *
 * @author 芋道源码
 */
public interface AllianceMembersService {

    /**
     * 创建联盟成员链接
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createAllianceMembers(@Valid AllianceMembersSaveReqVO createReqVO);

    /**
     * 更新联盟成员链接
     *
     * @param updateReqVO 更新信息
     */
    void updateAllianceMembers(@Valid AllianceMembersSaveReqVO updateReqVO);

    /**
     * 删除联盟成员链接
     *
     * @param id 编号
     */
    void deleteAllianceMembers(Integer id);

    /**
    * 批量删除联盟成员链接
    *
    * @param ids 编号
    */
    void deleteAllianceMembersListByIds(List<Integer> ids);

    /**
     * 获得联盟成员链接
     *
     * @param id 编号
     * @return 联盟成员链接
     */
    AllianceMembersDO getAllianceMembers(Integer id);
    /**
     * 获得app联盟成员链接
     *
     * @param id 编号
     * @return 联盟成员链接
     */
    AllianceMembersDO getAppAllianceMembers(Integer id);

    /**
     * 获得联盟成员链接分页
     *
     * @param pageReqVO 分页查询
     * @return 联盟成员链接分页
     */
    PageResult<AllianceMembersDO> getAllianceMembersPage(AllianceMembersPageReqVO pageReqVO);

    /**
     * 获得联盟成员链接信息分页
     *
     * @param pageReqVO 分页查询
     * @return 获得联盟成员链接信息分页
     */
    PageResult<PlatformInformationDO> getAllianceMembersInfoPage(PlatformInformationPageReqVO pageReqVO);
    /**
     * app获得联盟成员链接信息分页
     *
     * @param pageReqVO 分页查询
     * @return 获得联盟成员链接信息分页
     */
    PageResult<PlatformInformationDO> getAppAllianceMembersInfoPage(AppPlatformInformationPageReqVO pageReqVO);

}